<?php

      /*把页面变成图片形式输出*/
      header('Content-Type:image/png');

      /*绘制图像 返回图像资源  宽    高*/
      $im=imagecreatetruecolor(100, 30);

      /*定义颜色             图像资源  r  g   b*/
      $bgcolor=imagecolorallocate($im,255,255,255);

      /*定义图像背景颜色   图像资源 原点坐标x，y  目标坐标x，y  颜色资源*/
      $bg = imagefilledrectangle($im,0,0,300,300,$bgcolor);

      /*不循环则只有1个点，不重新定义干扰点的颜色则只有一个颜色*/
      for($i=1;$i<=180;$i++){
      //定义干扰点的颜色
      $d_color = imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));

       //绘制图像的干扰点 图像资源  x  y  颜色资源
      imagesetpixel($im,mt_rand(2,98),mt_rand(1,29),$d_color);

      }

      for($i=1;$i<=2;$i++){

      //定义干扰线的颜色
      $l_color = imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));

      /*绘制干扰线 图像资源 原点x，y  目标x，y ， 开始角度，结束角度，颜色资源*/
      imagearc($im,mt_rand(2,10),mt_rand(0,10),mt_rand(100,200),mt_rand(10,30),mt_rand(0,10),mt_rand(60,120),$l_color);
      }

      $font="qazxswedcvfrtgbnhyujimlkPLKMIJUNHYBGTVFREDCXSWQA123456789";

      for($i=0;$i<=3;$i++){
          $l = mt_rand(0,strlen($font)-1);
          $d = $font[$l];
          $f_color = imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));

          $f.=$d;

           /*图片内容 图片资源 尺寸 角度  x        y           颜色              字体文件        字符 */
          imagefttext($im ,18,10,$i*20,mt_rand(20,25),$f_color,'C:/Windows/Fonts/simsunb.ttf',$d);
      }
      /*把随机出来验证码字符转成消息存入sesion中*/
      $_SESSION['pin']=strtolower($f);

      /*清除缓存，放在生成图像之前*/
      ob_clean();

      /*生成图像，格式可以为其他格式image'gif'()*/
      imagepng($im);

      imagedestroy($im);


?>